A modem is a device for modulating and demodulating a signal for transmission over a communication path. U.S. Pat. No. 5,488,555 describes a simultaneous voice and data communication system in which an analog voice signal is added to a data signal for transmission over a communication channel and the disclosure thereof is incorporated herein as if set out in full.
In that simultaneous analog and digital communications system, the data signal to be transmitted is represented by a sequence of data symbols, where each data symbol is associated with a particular N-dimensional signal point value taken from a signal space. Similarly, the analog signal, which is represented by a voice signal, is processed so that it is mapped into the N-dimensional signal space to provide a voice signal point. This voice signal point defines the magnitude and angle of a voice signal vector about the origin of the signal space. The data symbol and the voice vector are then added together to select a resultant N-dimensional signal point, which is then transmitted to a far-end modem.
Upon reception of the transmitted N-dimensional signal point, the receiver of the far-end modem detects the embedded data symbol and subtracts the data symbol from the received N-dimensional signal point to yield the voice signal vector. This voice signal vector is then used to recreate the voice signal.
In an uncoded modulation scheme, the selected signal point is taken from a constellation signal space that is divided into a number of non-overlapping regions, each region being associated with a data symbol. In a coded modulation scheme, some overlap is allowed due to the ability of the decoder to distinguish and compensate for the excursions of the analog component of the signal into adjoining signal space regions. Consequently, any signal point value within a region may be validly selected for transmission to a receiving modem. Since each signal point region is either nonoverlapping, or allowed some overlap to be corrected by coding, the voice signal vector is constrained to be of a certain maximum size, so that the selected signal point for transmission always lies within the selected region, or within an adjoining region which will not overload the coding scheme.
While various modulation schemes can be used to generate the modulated signal used in a modem, typically the modulated signal is the result of quadrature amplitude modulation (QAM). This modulation signal represents a sequence of data symbols, where each data symbol is a selected signal point from a multi-dimensional signal space constellation.
An advancement of QAM modulation is known as framed quadrature audio/data modulation (QADM). Framed QADM supplements the data-only signal space with continuous-level, N-dimensional sampled waveforms and communicates digital side information derived in the processing of the audio signal for accurate reconstruction at the receiver. All of the communications advances applied to QAM, such as adaptive equalization and echo-cancellation, also apply to framed QADM. For a complete analysis on framed QADM see Gordon Bremer and Kenneth D. Ko, "Simultaneous Voice and Data on the General Switched Telephone Network Using Framed QADM", IEEE Communications Magazine, pp.58-63, Dec. 1996.
QADM symbols are constrained to one of a set of discrete two-dimensional points. The processed audio component, however, is a continuous amplitude signal. As a result, the QADM symbols may occur at any point within the N-dimensional regions defined within the constellation. Since the regions do not overlap, or overlap only to a degree which can be compensated for by the coding scheme, both the audio and data components are defined uniquely by the QADM constellation.
Typically, a convolutional error correction technique may be used with QADM modulation in order to allow and compensate for the overlap of signal space regions. One such convolutional error correction technique is a channel encoding scheme known as trellis coding. With trellis coding, the transmitting modem selects data symbols not only as a function of the current value of the data signal in any time interval, but also as a function of antecedent values of the data signal. The trellis coding system is optimized to remove channel errors which appear as additive white gaussian noise (AWGN) introduced by the communication channel. This AWGN can be visualized as very occasional excursions across the signal space boundary of a particular data symbol.
In order to maximize the dynamic range available to an audio signal, thus improving the quality of the voice signal that has been added to a digital data symbol, it is desirable to achieve a uniform distribution, within a signal space boundary, of the voice component. Unfortunately, this uniform distribution easily overloads the trellis coding system because it is not gaussian in nature. Thus, it would be desirable to allow the correction of voice signals that occasionally exceed the associated signal space boundary, while not overloading and causing excessive errors in the trellis decoder.